package com.yeskery.transfer.config;

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * 数据库的配置类，目前仅支持<b>MySQL</b>
 * @author shuangjiang.du
 * @date 2018-12-12 16:29
 * @version 1.0
 */
@Getter
@Setter
public class DataBaseProperties {

	/** 服务器的配置信息 */
	private TransferProperties serverTransferProperties;

	/** 客户端的配置信息 */
	private TransferProperties clientTransferProperties;

	@Getter
	@Setter
	@EqualsAndHashCode
	public class TransferProperties {
		private static final String CONNECT_PARAMETERS = "useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false";
		/** 数据库ip */
		private String host;
		/** 数据库端口 */
		private Integer port;
		/** 数据库名称 */
		private String database;
		/** 用户名 */
		private String username;
		/** 密码 */
		private String password;

		/**
		 * 获取数据库URL连接
		 * @return URL连接
		 */
		public String getURL() {
			return "jdbc:mysql://" + host + ":" + port + "/" + database + "?" + CONNECT_PARAMETERS;
		}
	}
}
